const router = require('koa-router')()
const { createCode } = require('../utils/svgCaptcha')
const { exec } = require('../utils/exec')

router.get('/', async (ctx, next) => {
  await ctx.render('index', {
    title: 'Hello Koa 2!',
  })
})

// 1. 因为用户上来就要获取到验证码，所以需要有一个验证码接口

// 2. 用户点击登陆的时候，肯定要拿到验证码，（所以登陆信息中一定要带上验证码信息）

// 如果要带上验证码信息的话，abcd => codeId

router.get('/api/code', async (ctx, next) => {
  const info = createCode()
  // 1. 不管是哪一位用户，调用了这个接口，都要将信息存储数据库
  const sql = `insert into code (text) values (?)`
  const data = await exec(sql, [info.text])
  // 2. 给前端图片，codeId
  ctx.body = {
    text: info.text,
    codeId: data.insertId,
    svg: info.data,
  }
})

// router.get('')

// router.get('/string', async (ctx, next) => {
//   ctx.body = 'koa2 string'
// })

// router.get('/json', async (ctx, next) => {
//   ctx.body = {
//     title: 'koa2 json'
//   }
// })

module.exports = router
